

package com.gel.shortLink.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gel.shortLink.dao.entity.LinkAccessStatsDO;
import com.gel.shortLink.dto.req.ShortLinkGroupStatsReqDTO;
import com.gel.shortLink.dto.req.ShortLinkStatsReqDTO;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 短链接基础访问监控持久层
 * 公众号：马丁玩编程，回复：加群，添加马哥微信（备注：link）获取项目资料
 */
public interface LinkAccessStatsMapper extends BaseMapper<LinkAccessStatsDO> {

    /**
     * 记录基础访问监控数据
     */

     void shortLinkStats(LinkAccessStatsDO linkAccessStatsDO) ;

/**
     * 根据短链接获取指定日期内基础监控数据
     */

   List<LinkAccessStatsDO> listStatsByShortLink( ShortLinkStatsReqDTO requestParam);

    /**
     * 根据分组获取指定日期内基础监控数据
     */

    List<LinkAccessStatsDO> listStatsByGroup( ShortLinkGroupStatsReqDTO requestParam);
    /* 根据短链接获取指定日期内小时基础监控数据*/
    List<LinkAccessStatsDO> listHourStatsByShortLink( ShortLinkStatsReqDTO requestParam);

    List<LinkAccessStatsDO> listWeekdayStatsByShortLink(ShortLinkStatsReqDTO requestParam);

    /*根据分组获取指定日期内小时基础监控数据*/

    List<LinkAccessStatsDO> listHourStatsByGroup( ShortLinkGroupStatsReqDTO requestParam);

    List<LinkAccessStatsDO> listWeekdayStatsByGroup(ShortLinkGroupStatsReqDTO requestParam);
//
//    /**
//     * 根据短链接获取指定日期内小时基础监控数据
//     */
//
//    List<LinkAccessStatsDO> listWeekdayStatsByShortLink( ShortLinkStatsReqDTO requestParam);
//
//    /**
//     * 根据分组获取指定日期内小时基础监控数据
//     */
//
//    List<LinkAccessStatsDO> listWeekdayStatsByGroup( ShortLinkGroupStatsReqDTO requestParam);
}
